Servers that process three dimensional graphics workloads are increasingly becoming a sought after commodity. For example, servers that host remote desktop sessions and/or virtual desktop sessions, i.e., sessions where a personal computer environment is run within a virtual machine and the user interface is sent to a remote computer, may include applications that generate computationally intense three-dimensional (3D) graphical user interfaces on 3D graphics processing units (GPUs). The resulting graphics generated by the 3D GPUs can then be streamed to a client over a network such as the Internet.
These servers are typically housed in a datacenter and are rarely physically interacted with after deployment. Instead, each server can have an installed baseboard management controller (BMC), which can be coupled to a network adaptor and include or have access to a low-end graphics processing unit. An administrator may connect to the BMC using keyboard, video, and mouse (KVM) switches and remotely view the server's video output. While other remoting techniques are available during the runtime operation of the server, the BMC is typically used during the period before the operating system is running and can work even if the operating system has crashed. For example, an administrator may use the BMC to remotely view the user interface of a basic input/output system (BIOS) to configure the BIOS and firmware of the server.
A problem exists in that the display drivers for these low-end graphics processing units used by BMCs are written according to a legacy display driver model that is incompatible with the display driver model used by the server to render 3D graphical user interfaces. Or put another way, the operating system cannot simultaneously run drivers that are compliant with the legacy driver model, e.g., the Windows XP® driver model (XPDM), and the driver model used by the server to render 3D graphical user interfaces, e.g., the Windows Display Driver Model (WDDM). This conflict causes the operating system to load drivers that were written according to the legacy driver model to load for both the graphics processing unit used by the BMC and the 3D graphics processing unit. This in turn causes the 3D graphics processing unit to operate at a reduced level of performance, e.g., without advanced 3D graphics processing capabilities. This problem leaves the administrator in an undesirable situation. To address this, the administrator can disable the BMC/legacy GPU within the BIOS so that the host 3D workloads work. Accordingly, techniques are desirable to overcome this problem.